﻿/*
 * Created by SharpDevelop.
 * User: it1050
 * Date: 31/08/2010
 * Time: 11.52
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */

namespace PN
{
	using System;
	using System.Drawing;
	using System.Windows.Forms;
	using PNDbManagement;
	/// <summary> Mask flessibile per startup ricerche </summary>
	public partial class frmSearch : Form
	{
		public frmSearch()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
				
		#region variables
		  //var property definition
			private string _lvpSQL="";
			private long   _lvpIDresult=0;
		#endregion
		
		/// <summary>	set var sql x ricerca</summary>
		public string SetSQLString
		{ // stringa SQL per caricare i dati nella form
			set {_lvpSQL = value;}
		} // fpropSQL

		/// <summary>	recupero id corrente del record selezionato </summary>
		public long GetIDResult
		{//Valore della PK da ritornare
			get {return _lvpIDresult;}
		} // fpropIDResult
		
		/// <summary>	Eseguo caricamento nella grid dei dati dal DB </summary>
		private void fDataLoad()
		{ //recupero dal DB i dati relativi alla qry passata nella property
			if (MainForm._gvDibi == null) //evito la creazione di un'ulteriore istanza dell'oggetto
				MainForm._gvDibi = new PNDBDataInterface();
				//imposto l'sql
			  MainForm._gvDibi.SetSQLString = _lvpSQL;
			  //recupero i dati
				mGrid.DataSource = MainForm._gvDibi.fDBGetDataset();
				//non mostrare la prima colonna che deve SEMPRE contenere l'ID della tabella
				mGrid.Columns[0].Visible = false;
				//dimensiono la form eguagliandola alla dimensione delle colonne riportate
				this.Width = 20; //imposto un default di 20 
				for ( int i=0; i<mGrid.Columns.Count; i++)
				{
					this.Width = this.Width + mGrid.Columns[i].Width;
				}
				
				
		}
		
		/// <summary>	richiamo il caricamento dei dati all'apertura della form </summary>
		void FrmSearchLoad(object sender, EventArgs e)
		{
			fDataLoad();
		}
	}
}
